Everything about Regular Language totally explained
In
theoretical computer science, a
regular language is a
formal language (for example, a possibly infinite set of finite sequences of symbols from a finite alphabet) that satisfies the following equivalent properties:* it can be accepted by a
deterministic finite state machine
Deciding whether a language is regular
To locate the regular languages in the
Chomsky hierarchy, one notices that every regular language is
context-free. The converse isn't true: for example the language consisting of all strings having the same number of
a's as
b's is context-free but not regular. To prove that a language such as this isn't regular, one uses the
Myhill-Nerode theorem or the
pumping lemma.
There are two purely algebraic approaches to define regular languages. If Σ is a finite alphabet and Σ* denotes the
free monoid over Σ consisting of all strings over Σ,
f : Σ* →
M is a
monoid homomorphism where
M is a
finite monoid, and
S is a subset of
M, then the set
f −1(
S) is regular. Every regular language arises in this fashion.
If
L is any subset of Σ*, one defines an
equivalence relation ~ (called the
syntactic relation) on Σ* as follows:
u ~
v is defined to mean
» uw ∈
L if and only if
vw ∈
L for all
w ∈ Σ*
The language
L is regular if and only if the number of equivalence classes of ~ is finite (A proof of this is provided in the article on the
syntactic monoid). When a language is regular, then the number of equivalence classes is equal to the number of states of the
minimal deterministic finite automaton accepting
L.
A similar set of statements can be formulated for a monoid
. In this case, equivalence over
M leads to the concept of a
recognizable language.
Finite languages
A specific subset within the class of regular languages is the finite languages – those containing only a finite number of words. These are obviously regular as one can create a
regular expression that's the
union of every word in the language, and thus are regular.
Further Information
Get more info on 'Regular Language'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://regular_language.totallyexplained.com">Regular language Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |